﻿#include "serialportconfig.h"

#include <QDebug>
#include <QSerialPort>
#include <QSerialPortInfo>

namespace Common {

	SerialPortConfig::SerialPortConfig(QObject *parent)
		: QObject(parent)
	{

	}

	SerialPortConfig::~SerialPortConfig()
	{

	}

	QStringList SerialPortConfig::getAllSerialPort()
	{
		QStringList list_avail_sp;
		foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts())
		{
			QSerialPort serial;
			serial.setPort(info);
			list_avail_sp.append(serial.portName());
			serial.close();
		}
		return list_avail_sp;
	}

	QStringList SerialPortConfig::getAvailableSerialPort()
	{
		QStringList list_avail_sp;
		foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts())
		{
			QSerialPort serial;
			serial.setPort(info);
			if (serial.open(QIODevice::ReadWrite))
			{
				list_avail_sp.append(serial.portName());
				serial.close();
			}
		}
		return list_avail_sp;
	}

} // namespace Common
